什么是同步Ajax?
同步Ajax请求是在收到响应之前停止执行请求的过程,而异步Ajax请求意味着脚本继续该过程而不等待服务器回复。如果它到达,它将处理回复。
Ajax的原理很简单,向服务器对象发送一个异步请求就是从服务器获取数据,然后使用javascript来操作DOM并更新页面。这是最关键的一步,就是从服务器获取请求的数据。
默认情况下,Ajax请求是异步的,但有时您需要同步发送请求。
Javascript示例:
var req = new XMLHttpRequest(); req.open("POST", "example.php”); // Asynchronous request req.send();
jQuery示例:
$.ajax({ type: "POST", url: "example.php", success: function(data){ //response script here } });
$.ajax() 返回 XMLHttpRequest。
让我们看一下下面的示例,以同步加载数据,这在请求处于活动状态时完全阻塞了浏览器。
JavaScript 示例:
var req = new XMLHttpRequest(); req.open("POST", "example.php”, false); // synchronous request req.send();
jQuery 示例:
// Instantiate a requestvar sync_request = $.ajax({ url: "example.php", async: false, success: function(data){ //response script here }});
在这里,当您需要同步请求时,我们只需要传递“ async:false”。前面的示例为 open 中的最后一个参数设置了 true,而在本示例中,它设置为 false,因此请求是同步的。
AJAX的优点
Ajax给我们带来了以下好处:
最大的一点是没有页面刷新,在页面与服务器通信给用户的体验非常好。无需在每次请求中加载所有数据。
Ajax与服务器采用异步通信方式,不中断用户操作,具有更快速的响应能力。
它减少了带宽的使用,从而节省了空间和租金成本。
Ajax基于标准化和广泛支持的技术,无需下载插件或库。